package com.zhuhjay.service.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhuhjay.common.web.model.vo.PageInfoVo;
import com.zhuhjay.service.system.model.dto.ConfigDto;
import com.zhuhjay.service.system.model.entity.SystemConfig;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ZhuHJay
 * @since 2023-08-30
 */
public interface SystemConfigService extends IService<SystemConfig> {

    /**
     * 系统配置分页数据
     * @param pageNum 页数
     * @param pageSize 每页条数
     * @return 分页数据
     */
    PageInfoVo<SystemConfig> configsPage(Integer pageNum, Integer pageSize);

    /**
     * 添加系统配置
     * @param config 系统配置
     */
    void add(ConfigDto config);

    /**
     * 编辑系统配置
     * @param id 系统配置id
     * @param config 系统配置
     */
    void edit(Integer id, ConfigDto config);

    /**
     * 删除系统配置
     * @param id 系统配置id
     */
    void deleteConfig(Integer id);

    /**
     * 根据配置键名获取配置值
     * @param configKey 配置键名
     * @return 配置值
     */
    String getConfigValue(String configKey);

}
